/**
 * @author 蔡明宗
 * @date 2010-11-20 下午11:02:54
 */

package com.ad.services;

import com.ad.hibernate.User;
import com.ad.hibernate.UserInformation;

public interface IUserManagerService {

	/**
	 * 验证用户名和密码是否匹配，password须先MD5加密再比对。
	 * 
	 * @param userName
	 * @param password
	 * @return 匹配返回用户的昵称，否则返回null
	 */
	String check(String userName, String password);

	/**
	 * 先验证对象（user的各属性认证，例如用户名是否是否为空，是否为Email，密码是否为空），然后插入数据库，
	 * 
	 * @param user
	 */
	void insert(User user);

	/**
	 * 返回用戶的petName
	 * 
	 * @param userName
	 * @param password
	 * @return 用戶的昵称
	 */
	String userName(String userName, String password);

	/**
	 * 根据email查找用户信息
	 * 
	 * @param email
	 * @return
	 */
	UserInformation getUserInfoByEmail(String email);
	
	/**
	 * 根据email查找用户
	 * 
	 * @param email
	 * @return
	 */
	User getUserByEmail(String email);

	// 小弟的测试用户名是否重名
	boolean Check(String name);

	/**
	 * 根据email查找昵称
	 * 
	 * @param email
	 * @return
	 */
	String getUserNameByEmail(String email);

	/**
	 * 更新UserInformation和user对象
	 * 
	 * @param userInfo
	 */
	void updateUserInfo(UserInformation userInfo, User user);
}
